﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;

namespace AutoTestingFramework.Utilities.DataProviders
{
    public interface IDataReader
    {
        string TableName { get; set; }
        bool IsConnectionOpen { get; }

        uint Seek { get; set; }

        /// <summary>
        /// Loads the data as per the setting in configuration file
        /// </summary>
        void Open();
        void Close();

        bool Next();

        string[] GetPresentRowData();
        /// <summary>
        /// Get data at a particular location in the data sheet
        /// </summary>
        /// <param name="Column">1 based column number</param>
        /// <param name="Row">1 based row number</param>
        /// <returns>Cell value</returns>
        string GetCellData(int Column, int Row);
        string GetCellData(string TestCaseId, int Column, int RowSeek);
        DataTable GetDataInDataSet(int ColumnBeginIndex, int ColumnEndIndex, int BeginRowIndex, int EndRowIndex);
    }
}
